package com.ruoyi.project.examine.mapper;

import com.ruoyi.project.examine.domain.CheckMode;
import com.ruoyi.project.examine.domain.ExamCost;
import com.ruoyi.project.system.newfunction.domain.Exam_cost;
import io.swagger.models.auth.In;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

/**
 * sql语句
 */

public interface CheckMapper {
    /**
     * 查询检查项目
     * 查询检查项目表中的项目名称
     * @return
     */
    //@Select("select exam_name from sys_exam_cost")
    @Select("select exam_name as examName , exam_id as examId from sys_exam_cost")
    List<Exam_cost> selectCheckName();



    /**
     * 新开检查
     * 根据检查单号查询
     * @param checkCode 检查单号
     * @return
     */
    //@Select("select pati_id，pati_name，check_name，checkstatus,remark from check_mode where check_code=#{checkCode}")
    List<CheckMode> selectCheckCode(String examName,String checkCode);

    /**
     * 点击开始查询
     * 修改查询状态
     * @param checkCode 检查单号
     * @return
     */
    //@Update("update check_mode checkstatus=1 where check_code=#{checkCode}")
    public int updatestate1(String checkCode );

    /**
     * 检查结果的录入
     * 添加检查结果前的查询
     * 只查询在检测中的数据
     * 如果有检查单号就是精准查询
     * 如果没有单号就是查询该项目下所有在检查中的数据
     * @param examName 检查项目
     * @param checkCode 检查单号
     * @return
     */
    public List<CheckMode> selectResult1(String examName,String checkCode);

    /**
     * 添加检查结果
     * 修改检查状态
     * 两者同步进行
     * @param checkCode
     * @param checkResult
     * @return
     */
    //@Update("update check_mode checkers=#{checkResult} where check_code=#{checkCode}")
    public int updateresult(String checkCode,String checkResult, String filename,String filesite);
    //@Update("update check_mode checkstatus=2 where check_code=#{checkCode}")
    public int updatestate2(String checkCode );
    public int insert(String originalfile,String fileName,String checkCode);

    /**
     * 查询检查结果
     *如果不输入检查单号是查询该项目下的所有检查的结果
     * 输入单号查询就是精准查询
     * @param examName
     * @param checkCode
     * @return
     */
    public List<CheckMode> selectResult2(String examName,String checkCode);
}
